【访谈】UMLChina和《设计模式》作者John Vlissides交流实录,透明,think,Qingrun 整理......我认为在分析模式和设计模式之间有非常多的关系。同样的关系也存在于分析和设计之间。你不能将分析从设计中独立出来,如果你打算这么做,那么你一定会失败的。分析模式捕捉反复出现的领域建模问题的通用解决方案;设计模式捕捉反复出现的程序设计问题的通用解决方案。...【方法】Temporal(时效) 模式,Andy Carlson, Sharon Estepp, Martin Fowler,透明......在面向对象设计中,我们不断使用"对象"(object)这个词。对象不仅仅用来表现真实世界中存在的物件,它们也被用来表现那些曾经存在但已经消失了的物件,以及那些可能存在于未来的物件。上述的要求给我们的建模工作提出了一个特别的挑战...Java 中的Singleton (上),石一楹......在面向对象的程序中,某些类只需要一个实例。譬如,在一个窗口应用程序中,我们只需要一个主窗口。又如在一个数据库应用程序中,我们往往希望将所有的数据库连接集中于一处,并能为整个程序所使用。...建模鸡汤,Scott Ambler,乐林峰......我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢?将下列原则应用到你的软件工程中,你会获得立杆见影的成果。...【过程】回顾过去,展望未来,Karl Wiegers,Johanna Rothman,亚玲......回顾,这种小小的投资,将几乎肯定地获取比它大的收益。在今天速度驱动和有明显交货底线的开发世界里,你无法承受重犯过去的错误和一个项目接一个项目地遇到相同的意外。...功能点过程,Adams Wang......本规程的目的是基于软件需求产生软件规模的估计。功能点是基于应用软件的外部、内部特性以及软件性能的,一种间接的软件规模的测量。...【工具】CASE工具赛马,Gary K. Evans,张启鹏......正在搜索完美的面向对象建模工具?谁不是呢?那些由开发者创建并且也是为开发者创建的工具,总是承诺即将是成熟的产品,却鲜有实现。随之,我们已经学会了讨厌它们,但又不能离开它们。在过去的五年里,OO世界已经从工具能力令人绝望的缺乏,变成令人困惑的选择过剩...第7期下载>>http://www.umlchina.com/xprogrammer/XProgrammer7.pdf
【访谈】交互设计之父Alan Cooper访谈,uidesign.net,亚玲......拯救这个世界 -- “一点一滴地”...“让人做他们胜任的事情,让计算机做他们真正胜任的事情。”...【方法】模式与XP,Joshua Kerievsky,Gigix......由于我继续学到更多关于XP的知识,我很快开始考虑这样一个事实:那些清楚介绍"XP是什么"和"XP如何工作"的人毫不提及模式。看起来,焦点已经全部从开发转向了重构。构造一点,测试一点,重构一点,然后再重复。那么,模式怎么了?...预订和使用可重用实体的分析模式,Eduardo B. Fernandez,Xiaohong Yuan,Shane......一个客户(个人或机构)需要预定一个可重用的实体(如旅馆房间、车辆、演出座位)供他随后使用。...仓库管理器:一个库存的分析模式,Eduardo B. Fernandez,邓克......现代制造系统中,制造过程中所涉及信息的管理已经成为降低产品成本,提高产品质量的一个关键因素。很多公司和机构在这个领域投入了大量的资源,制造资源计划系统(MRP)已经变得重要了[Salv92]。库存是MRP系统中最重要的一部分,用来跟踪目标对象的数量和位置。...使用模式集成UML视图,Alexander Egyed,davidqql......视图集成的主要的障碍是缺乏完好定义的(工程的)模型基础。视图经常使用迥然不同的表示信息方法,而这使得确定它们在哪里和怎样出现重叠非常困难。这样,组合和比较视图的任务经常是手工的而且潜伏着错误的。集成框架的目标是要补偿鉴别和解决体系结构不匹配自动化辅助手段的不足。...【过程】项目经理面试指南(上),Patricia L. Ferdinandi,zhoufang......本文的目的是为应聘项目经理提供帮助。项目管理是升迁的途径,需要运用你过去的开发经验,而且薪水通常高于程序员。应聘项目经理的准备工作包括:复习一些常用的概念、术语,问自己一些在面试中经常问到的问题。学会运用一个或多个项目管理计划编制工具。通过以上的准备,将为你应聘这个职位增加信心。...《人月神话》节选,Fred Brooks,Adams Wang第8期下载>>http://www.umlchina.com/xprogrammer/XProgrammer8.pdf
【访谈】Ivar Jacobson访谈,Adriano Comai,Tang Xiaoming......我想最接近的东西是通信案例这个想法。但是我必须指出一点:我因为用例而出名,这的确是事实,但是1967年我们有基于组件的开发方式的时候,用例还没有诞生。因此基于组件的开发是我一生一直在努力的东西。另外一个是体系结构,我的意思是指真的先辨别出一个体系结构---在做任何事以前。...UMLChina访谈高焕堂:恢复中华民族设计自己产品的信心......我想更合理的是:一开始,不必使用include或extend, 因为增加了很多初学者的困扰. 初学者常常分不清Use Case与SubSystem两者之间的关系,常把include看成模组之间的呼叫关系。...【方法】程序调试的智力游戏,David Burns,史彦军......对于软件开发人员来说,程序调试实际上就是一种生活。而对于职业程序员来说,"捉虫"是专门描述这个智力游戏的名称。以下是关于"捉虫"和修正的10个建议。...Chain Constructors,Joshua Kerievsky,透明......在同一个类的两个或更多的构造子中编写重复代码,这就是在为自己埋下麻烦的种子。别人会在你的类中添加新的变量,然后更新一个构造子来对这个变量进行初始化,但是却忘了更新别的构造子。于是,"砰"的一声,向新的bug问好吧。...设计模式的理解,Adams Wang......面向对象指使用离散的对象来构建软件系统;设计模式利用了对象的继承、组合和代理(delegation),在较OOP高的层次上考虑问题。尤其是使用代理来对任何不稳定或不确定的方面,如状态、对象的创建、应用平台等等,进行封装,从而保证了源代码的重用和设计的稳定。...【过程】项目经理面试指南(下),Patricia L. Ferdinandi,zhoufang......问题10:怎样确定人员需求?答案10:不考虑资源限制进行计划开发。在任务旁边加上诸如数据模型制作者,业务分析员和用户等角色。再加上能将任务重叠起来的补充性的资源。在计划中要考虑开发团队包括支持团队和用户代表失去一个或多个资源的情况,要在每个任务上增加15%的余量。要使项目小组的组成容易理解,要有角色所必备的技术水平的说明。为什么还不编码?,张俊......您正从事着一项专业品质的应用开发,正处于其设计阶段--您正在和用户面谈,正在记录对象的定义,正在绘制对象的模型--这时--就在这时!--您的老板走过来问道:"为什么你还不写代码?!"--好吧,也许不尽然都是这样露骨的质问--但老板对你缺乏那些在开发进程中眼见为实的东西而心怀不快,却是显而易见的。...《面向对象项目成功之道》节选,Alistair Cockburn,乐林峰......"Surviving Object-Oriented Projects: A Manager's Guide"是Alistair Cockburn所著的经典著作之一。它的中文译本《面向对象项目成功之道》即将发行,译者为UMLChina翻译组的乐林峰,这是翻译草稿的片段。...第9期下载>>http://www.umlchina.com/xprogrammer/XProgrammer9.pdf
【访谈】UMLChina访谈Roger S. Pressman:CMM不是宗教......任何过程模型和评估成熟度的相关方法都是有意义的。但是必须避免过分强调过程。每个机构必须自己选择...【方法】面向对象开发中的本质用例及其职责,Robert Biddle,zhangxxin......本质用例(Essential Use Cases)是一种轻量级的方法,它简单明了,不受技术约束,用于沟通用户意图和系统职责,能够有效地捕捉用户界面的设计需求。在设计过程中,使用本质用例从系统职责中提取的关键词汇可以直接作为对象来使用,具有显著的优点。本文描述如何使用本质用例直接驱动面向对象开发过程,并实现与用户界面进行并行开发的方法。...利用角色扮演和用例卡片进行需求复审,Robert Biddle,caorui......我指定我要哪一个座位。除非我不想这样做……,如果我这样做,但没有座位,我就得不断的选择座位,直到找到。要是系统能告诉我哪些座位可用就好了。停!--在这个例子中,用户已经深入到角色中去了,并且发现了当前版本用例的不足。...针对用户界面设计的用例结构和式样,Larry L. Constantine, Lucy A. D. Lockwood,zhen_lei......不管增加的定义多么微小,当前的"官方"定义实际上从Jacobson最初重于使用的定义转移到"系统为中心"的观点:重点放在系统如何工作而不是用户完成的或所希望的用途。我们的观点是,这种从内到外的透视方法,虽然精致,但实际上导致在界面设计中使用用例时出现问题。...网上商店的模式,Eduardo B. Fernandez,Huang Yin......网上购物已经变得很普遍,许多网站都为此提供了方便的用户界面。为了支持不同种类的导航视图,网上商店需要良好的基础结构。目录模式和购买流程模式是网上商店基础结构的一部分:目录模式描述了如何组织网上商店的商品信息,购买流程模式描述了在网上购买商品所必需的步骤。我们还将展示在网上商店中如何结合应用这两种模式。...分析模式学习笔记之四:企业财务分析中的观察和测量(下),Windy J......最常见的是用Name(名称)来识别对象,但任何有商业意义的属性都不适合作为对象的唯一标识,因为商业规则是不稳定的。关于这点可以参考Scott Ambler的文章"Mapping Objects to Relational Databases"...【过程】《人件》节选,Tom Demarco、Tim Lister,方春旭、叶向群......用Billy的话来说,维也纳正在等着你,那是你人生之路的最后一站。当你到达那里时,一切都完了。如果你认为你的项目组成员对如此沉重的话题一点也不担心,请你再想想。你的下属很清楚上帝赐予每个人的生命都是短暂的,他们也非常清楚在他们这种无聊的工作之外还有更重要的事情在等着他们。...第12期下载>>http://www.umlchina.com/xprogrammer/XProgrammer12.pdf
【访谈】UMLChina访谈Scott W.Ambler: 空手道和太极拳......我学习刚柔流空手道和太极拳,也很喜欢风景摄影。我也喜欢旅行,去年我去过南极,希望有一天会去中国。我很想看到长城、沙漠还有很多其它东西。...【方法】发明软件,Larry Constantine,zhen_lei......看其他人的工作的第三个理由是可以帮助打破只有一种方法或只有一种正确方法的思维模式。尤其针对开发经理,需要学习不去接受程序员们的肯定说法。"这可能不灵活(或效率不高,浪费资源,粗糙),但这是采用Java(HTML、C++或API、MFC)仅有的一种方法。",程序员说。"胡说,"精明的经理说,"回去,找到另一种方法。"...软件设计模式的非软件例子,Michael Duell,Wu......代理模式提供一个中介以控制对这个对象的访问。一张支票或银行存单是账户中资金的代理。支票在市场交易中用来代替现金,并提供对签发人账号上资金的控制。...GOF模式用于GUI设计,James Noble,cntang...某些对象从来不在用户想要的地方。比如,用户想要存储目录结构下很深的一个文件,想让它很容易存取。或者用户希望下载一个网页,放弃任何包含的图像而保持文档结构不变。一个对象如何才能同时出现在两个地方呢?...业务资源管理模式语言,Rosana T. Vaccare Braga 等,zhen_lei......本文的模式语言反映了十年资源管理系统开发的职业经验。它的应用使分析新系统变得容易,因为它为系统分析提供了指南,包括了这一领域需要注意的主要问题。我们计划扩展这种语言,包括仓储管理和更好地处理付款,基于这种语言的框架也会开发出来。...用户界面设计从抽象到实现——基于规范抽象组件的抽象原型,Larry Constantine,* Helmut Windl, James Noble, Lucy Lockwood,Lin George......一个有前途的、同时支持新手和更高级使用模式的联合应该既支持在列表内用上-下按钮移动,又支持用拖放移动。初始设计可能类似于图7(a),它凸显了几个问题。如果将上-下按钮和滚动条按钮放在他们通常的位置上,很容易造成混淆。如果只是简单地移到左边,则它们可能容易被忽略,并且它们的功能可能不清晰。...用创建方法封装子类,John Vlissides,透明......如果客户(client)需要知道每个具体类的存在,那么让客户直接控制这些类的实例化也是个不错的选择。但是,如果客户不想知道这些,又该怎么办呢?如果这些具体类都被放在一个包的内部,并且都实现了同一个接口,而这个接口又不太可能发生变化,那么就应该把这些具体类隐藏起来,让包外部的客户去使用超类公开的创建方法(Creation Method),并通过创建方法得到满足需要的实例。..第13期下载>>http://www.umlchina.com/xprogrammer/XProgrammer13.pdf
【访谈】UMLChina访谈James J. Odell:UML的将来......是的--很不幸--UML变得越来越复杂。我们正在努力改善这个问题,我们都需要新特性,所以,这是一个永久的矛盾。从哲学上说,我们已经决定UML的核心不会支持每个人的所有要求,相反,我们提供一个基本的核心,供大家使用"profiles"来扩展。通过这种方法,你可以在UML的基础上添加自己喜爱的方法,并使它成为标准,却没有把每件事都弄得复杂。例如,我们打算产生一种Agent profile,不是每个人都需要agent,但需要的人可以使用基本UML的这个扩展。...UMLChina访谈Alan Shalloway:面向对象设计的新视角......模式会从分析、设计和实现的角度来告诉我们问题。比如说,在分析阶段,我可能会发现我有几种不同的文档,需要支持不同的输出设备。所以,我看到系统中有文本、图片……它们使用激光打印机、绘图仪、点阵等等作为输出设备。这正是Bridge模式的场景。所以,我可以用一个抽象(不同的文档类型)来定义问题领域,然后给它以不同的实现(点阵、绘图仪等等)。现在我不必担心如何实现,因为我对Bridge模式很有把握。要求更快得到反馈则使你不得不对开发过程进行调整,因为你不能再等待完整的需求,也不能再希望做完整的系统设计,也不能先做完所有的编码工作再测试。...【方法】为什么用例如此难用?,Gary K. Evans,zhen_lei......IT企业一直在尽力使自己开发的软件符合指定的需求,但是如何才能更有效地发现、捕获与沟通这些需求的确是个难题。用例在6年前的出现似乎提供了一个与该目标接近的解决方案。用例虽然已被权威的统一建模语言(UML)吸收采纳,许多组织却发现其约定令人感到困惑。虽然用例的意图是简洁和直接的,但许多IT组织发现使用用例收集和定义项目需求非常困难,它们往往难于管理和难于理解。...隐喻的使用及误用,Larry Constantine,whoisred......在现实生活中,你走进一家商店去购物,却被告知你虽然需要购物车,但却不能在购物时携带。相反,你只能把购物车放置在商店对面的屋子里。在你走进那间屋子前,你不能检查购物车内的商品,你甚至无法直接看到车内的东西,而只能看到一张车内物品的清单。在进行这样的购物时,你会有什么样的感想呢?...停止过分设计!,Joshua Kerievsky,透明......习惯所致,我马上就想到了模式。首先浮现在我脑海中的是Decorator模式,于是我就提议用Decorator模式来封装要显示的对象,然后重载封装对象的toString()方法。可惜,我的搭档的回答让我大吃一惊:"杀鸡焉用牛刀?"他创建了一个名叫NodeDisplay的类,它的构造子接收一个待显示类的实例。NodeDisplay类很容易写,因为它的全部代码量还不到10行。而我的Decorator模式起码需要50行代码,要通过很多次委托才能调用到需要显示的对象。...【过程】大型项目中的XP-开发者角度,Amr Elssamadisy,simaetin......我们在ThoughtWorks的开发过程中采用了XP方法,我们根据经验对该方法加以剪裁以适应我们这个超过35名开发人员和15名分析员的大型项目。这个在内部称为ATLAS的项目是一个租用应用,它开始于三年以前,使用传统项目开发过程中标准的分析和front-loading(前载)设计方法。本文基于开发者的视角,讲述他们实践并积累的经验和技术。我们将通过列出与Kent Beck的《Extreme Programming Explained》(《极限编程精解》)中不同的实践方法,并给出我们的体会。之后,作为全文的总结,我们将给出对XP过程的推荐修改,使之可以在应用于大型项目时仍能快速产生高质量的代码。...通过CMM 4级和5级的组织,SEI,shiyy......我们根据最新的调查结果编辑了以下高成熟度级别的组织名单,需要说明的是,这个名单不是永久性的,它一直保持更新状态。该网页在不久的将来可能和"公布的成熟度级别"在某些方面结合起来。在http://www.sei.cmu.edu/sema/profile.html上可以看到即时的最新消息。...【工具】使用Rational Rose全景追踪,Richard Felsinger,盖九宇......启动 Rose:选择菜单File-New,选择File-SaveAs,将文件另存为BusinessModel.然后选择File-New-SaveAs,另存为Requirements-AnalysisModel;注意,当Requirements-Analysis(需求分析)完成后要另存为Design-ImplementationModel(设计-实现模型);选择View(视图)选中Status Bar,Browser, Documentation, As Unified;选择Tools-Options-Diagram 选中Stereotype...Rational ClearCase LT 使用指南,Jim......b. 选择"高级"页面,点击"环境变量"按钮,进入环境变量设置。在"用户变量"一栏中点击"新建"按钮,输入变量名称:CLEARCASE_PRIMARY_GROUP 变量值设置为将要访问ClearCase的用户组,例如CLEARCASE_USERS,表示CLEARCASE_USERS组可以访问ClearCase。(在安装ClearCase...第14期下载>>http://www.umlchina.com/xprogrammer/XProgrammer14.pdf
【访谈】UMLChina访谈Alistair Cockburn:选择你所需要的......最常犯的错误是太细化了。有时,人们书写非常非常细的用例,读起来都很烦。用例是一种叙述,我从未写过一个用例超过九步。如果你超过九步,那么要么是出现了界面设计,要么是步骤太详细了。...【方法】界面耻辱纪念堂--隐喻使用不当,iarchitect,金哲凡......我五岁的侄女爱死了这个回形针,我每次打印,她都会兴奋得尖叫起来,因为回形针会模仿纸张在打印机上的动作,在滚轴上被压扁。五岁的孩子们认为回形针很可爱,Microsoft应该从中意识到一些问题:五岁的孩子是不会购买$500.00的软件包的,这是成年人的事,而大部分成年人会很快对这种"可爱"感到厌烦。...界面耻辱纪念堂--可视元素,iarchitect,wanghongbao......当我们最后意识到这个导航栏是可以滚动的,我们选这个例子的第二个原因就变得很清晰了:WebZip 为新用户提供了一个"Quick Start"选择,这个选择使用了一个向导风格的界面来清晰地说明如何使用这个程序。不幸的是,这个选择是导航栏的最后一项,直到用户知道如何使用这个定制的滚动控件才为用户所见。...设计模式之路(一),Jun Qian......很快在我做的项目里就碰到了我平生的第一个模式, Factory模式.这个项目是与加拿大一家公司合作的项目,他们的程序是用COBOL在MainFrame的机器上面写的。而我们的程序是C++在Unix机器上运行的。我们小组的项目就是中间的一个转接层程序(现在流行叫Multi-tierJ),通过TCP/IP接受加拿大来的信息,然后根据不同的信息类型,送到不同的处理单元去处理,最后通过TCP/IP返回给加拿大....提取创建类,Joshua Kerievsky,透明......从根上来说,这个重构其实就是Extract Class[Fowler],只不过是对类的创建方法进行的。一个类中存在创建方法,这很正常;但是随着创建方法越来越多,类本身的主要责任--它存在的主要目的--可能就变得越来越模糊,甚至被对象创建的逻辑给遮蔽住了。如果情况真是这样,就应该对这个类做一些调整,将创建方法移动到一个专门的创建类(Creation Class)中去,还这个类以本来面目。...利用重构改进面向对象设计,Lance Tokuda and Don Batory,koun......重构是一种保留程序行为的程序转变,能够使得面向对象程序进行设计的自动改进。存在三种设计改进,它们分别是:方案转换、设计模式微结构、特点驱动式趋进。这个研究展示如何利用重构使这三种方式得以自动进行;也给出一个全面的为设计改进的的重构方式的列表,同时分析了所支持的方案转换、设计模式以及特点驱动元模式。...一个产品的订货和配送(系统)的分析模式,Eduardo B. Fernandez, Xiaohong Yuan, and Sandra Brey,li.sining......本文给出的这些分析模式描述了顾客提交产品订单和订货之后的产品的配送过程。我们首先给出了两个基本的模式――订单和配送,然后把基本模式组合成为一个我们称之为语意分析的模式,与实际应用中增加灵活性相反,我们强调应用模型的语意方面。这类模式的目的是作为把需求转化为真正系统设计的起点。这个模式代表一个最基本的应用,可以把它应用在不同的场合,也可以与其它的相关模式组合在一起来描述更复杂的应用。产品的订货和配送是现实生活中一个非常通用的问题,这个模式集中在订单和交货以及它们之间的相关过程的基本特征。... 第15期下载>>http://www.umlchina.com/xprogrammer/XProgrammer15.pdf
【访谈】UMLChina访谈David Van Camp:模式、构架和XP......模式不是技术——它们是简单的文档和教学技巧。当你逐渐熟悉模式,你就建立了一个模式“词汇表”。这使你能够更好地寻找模式和应用模式。这是一个学习过程。在美国和欧洲,许多人已经建立“模式讨论组”讨论模式。他们通常提出一个模式,然后大家评阅并相聚讨论。鉴别新的模式是一种艺术,不妨试一试,假以时日,你的能力会得到提高。鉴别一种新的模式,关键是要认识到其他人已经独立地找到了相同的解决方案并且得到确认。适当运用模式能够带来“良好”或改善的结果(不是其它途径能够带来的)。John Vlissides已经写了很多关于寻找和编写模式文档的文章。...【方法】使用UML和Rhapsody 开发导航控制系统,G.R. de Boer,ottafei......本方案的目的是为了深入了解基于统一建模语言(UML)的开发工具Rhapsody。使用Rhapsody能够设计和构建高水平的嵌入式软件。我们选用Rhapsody为导航控制(CC)建模,目的是从中找到Rhapsody这种开发工具的各种可能性。目前导航控制(CC)在小汽车上的应用已经非常普遍。因而非常适合作为控制系统在日常生活应用的案例。导航控制(CC)包括基本的循环控制和一些用户接口。...处理对象的特性,Martin Fowler,Xu Zhiling......几乎每个创建的对象都需要特性:有关对象的一些声明,例如,人的身高,公司的CEO,航班的航班号。有许多种方法可以模拟特性,在本文中,我将探索其中的一些方法,以及可能在什么时候使用它们。常见到一些模式(pattern)涉及到这个主题,但是它们通常仅覆盖部分图景(picture)。在此,我想广泛地研究这个问题,给出对这些选择的更好讨论。...根据合同进行分析--录像店案例研究,Richard Mitchell,zhen_lei......本文包括录像店案例研究的一些片段,用来说明根据合同进行分析的原理。本文假定读者已经从其它渠道学习了一些关于根据合同进行分析的方法。...Reactor模式――同步事件复用和处理调度的对象行为模式,Douglas C. Schmidt,Tonny Tam......为图解Reactor模式, 考虑一个如图1所示的提供分布式日志服务的事件驱动式服务器程序。客户程序在分布的环境中使用日志服务记录它们的状态信息。这些状态信息通常包括错误通知,除错跟踪,还有执行效率报表等。日志记录被送到中央的日志服务器,并被日志服务器记录到各种输出设备上,例如控制台,打印机,文件,或者是数据库。...【过程】《人月神话》20周年纪念版评论集,陈懋戍......Brian Kernighan:我唯一一本读过一遍以上的书,是Fred Brooks的《人月神话》,实际上我每过一两年都重读一遍。部分原因是这本书文笔很好,部分原因是书中的忠告很有价值,即使是25年以后。当然,现在很多细节上的地方,和我们做事情的方法,都有不同。我们的工作更自动化,计算机的“马力”更强劲,但书中依然有许多好的忠告,我非常推崇这本书。这是我唯一能想起来的你能从中体会到乐趣和思想的计算机科学书籍。...《敏捷软件开发》翻译草稿样章,Alistair Cockburn,Jill......通常,极限一小时的主持者会选择一个有趣的任务,如设计一个捕鱼设备,它能够保证鱼在交到厨房的时候还是活的,也能保证啤酒在全天时间里一直是凉的。(当然,在迭代过程中他们不得不缩小范围!)我们使用90分钟的微缩流程来帮助一个有50个人的公司的团队来体验我们建议的新的开发流程(你将注意到这个微缩流程经验与第57页所描述的信息是多么相似)。...第17期下载>>http://www.umlchina.com/xprogrammer/XProgrammer17.pdf
【访谈】UMLChina访谈Marko Boger:XP、UML和Poseidon......ArgoUML是一个开放源代码的项目,这便是它与一般的项目所不同的。这也只是简单的提法。当然,Poseidon还会有很多不同之处。很显然,我们是Rational的竞争对手。如果Rose是更好的工具的话,我想我们就不会开始Argo的开发了。...UMLChina访谈Peter Merel:妻子告诉我该睡觉了......我曾经好几次遇到过这种情况,我并不认为有非常完美的解决方案。最好你的远端客户能指定一个本地的代表,这个人有相关领域业务知识并能定期和客户沟通。在HP工作的时候,曾经有一次有三个小组介入了我负责的一个项目,主要的两个在圣地亚哥。除了相当昂贵的电视会议系统的花费外,我们每个月还必须派人飞来飞去。...【方法】用户界面的UML建模,Paulo Pinheiro da silva, Norman W. Paton, 李巍......统一建模语言(UML)是对应用程序进行面向对象建模的标准标记语言(notation),因此我们会很自然地将其作为用户界面(UI)建模的选择。但是,我们并不清楚如何使用UML来进行UI的建模。本文给出了一个使用UML进行用户界面建模的案例。该案例指出了那些无法使用UML标记来进行建模的UI侧重面,以及一组可用于UI建模的UML构建法(constructor)。其中的建模问题说明了使用UML进行UI建模的一些缺陷,而采用的这组构建法也同时表明了一些该方面的能力。这些被证实的能力和缺陷可作为公式来表达成一种对UML进行扩展(extend)的策略,从而对用户界面的设计提供更好的支持。...界面耻辱纪念堂-术语,iarchitect,金哲凡......如果程序开发者和用户具有相同的知识背景,那可就太好了。程序就会按用户完成任务的需要来设计,双方都知道对方说的是什么。不幸的是这样的情况太少了。有太多的程序给人的印象是:它们使用不同的语言。下面就是一些非常不清楚的程序元素的例子。...用户界面软件,Jens Coldewey,Tom.X......象SmallTalk或Java这些语言,通常需要一行代码来使得某个菜单选择失效,或者弹出一个简单的对话框来提醒用户。所以,当你的域层面的代码(domain code)里发生了一些奇怪的事情时就总想提示用户,问:“要不要继续运行?(是/否/帮助)”然而,这真的是一个好主意吗?或迟或早你就会发现有不同的用户要对系统进行操作。它们必须每天重复上千遍的工作,希望按尽可能少的键来让这个系统帮他完成工作。...分析模式学习笔记:LOG-日志记录模式,Windy.J......轻轻地我走了,正如我轻轻地来,我挥一挥衣袖,不带走一片云彩。这样的情况在有了日志记录的系统里是不可能发生的,因为,日志把发生的一切都“记录在案”了,这一节,我们就来看看日志记录建模和实现的各种思路。我们首先来看一张Windows系统日志的图片...电子商务应用系统的几种模式,Dragos A. Manolescu,Adrian E. Kunzle,杨德仁......软件开发业见证了从桌面应用系统的开发向高扩展的、分布式的、基于服务器的电子商务应用系统的开发的转移。大多数开发者来自于PC世界,很少知道如何处理分布式应用、服务器、并发性、扩展性、高可用性和容错事宜。电子商务应用开发模式将使开发者意识到他们需要处理的核心问题,并向他们展示解决这些问题的方法。本文的构建电子商务应用系统的模式集迈出了这方面的第一步。...重构过程中的行为保持,William Opdyke,透明......显然,重构应该保持程序的行为不发生变化。在本章中,我将讨论几个与“行为保持”相关的主题。在第1节中,我首先向读者介绍几个很容易在重构过程中被破坏的程序属性。在第2节中,我对重构的作用范围做了一个定义。在第3节中,我列出了用于描述重构前提条件的函数式,这些前提条件可以保证重构前后程序的行为保持一致。...第18期下载>>http://www.umlchina.com/xprogrammer/XProgrammer18.pdf
【方法】驳UML三大“硬伤”论,张恂,think......本文对2002年5月《程序员》杂志刊登的《UML三大“硬伤”》(指UML“上不着天、下不着地、一盘散沙”)一文所存在的18个错误逐一进行了批驳,指出原文在论据、论证、论点和文风上存在的严重问题,并结合RUP(瑞理统一过程)给出UML建模实例,演示了如何对原文所提及的商业公司进销存系统进行正确的业务分析。本文适合的读者包括UML和面向对象技术的爱好者、初学者,软件开发人员、软件企业与行业企业的技术主管等。...电梯系统的UML文档,Lu Luo,王君......作为我们的教学项目,电梯系统的设计与“真实”的系统相比省去了很多技术上的细节。我们的电梯系统有所有的电梯系统都有的基本功能,如上升和下降、开门和关门当然还有载客。电梯假设被用在一幢大楼的第一层到第MaxFloor层,第一层是大厅。电梯里有每一层对应的呼叫按钮。除了第一层和顶层,每一层都有两个按钮,乘客可以呼叫上楼或下楼。顶楼只有一个下楼按钮,而大厅只有一个上楼按钮。当电梯停在某一层,电梯开门,电梯指示灯亮标明当前运行的方向,这样乘客就知道了当前电梯运行的方向。电梯在两个楼层之间快速移动,但它应该能提前减速停在目的层。为了保证电梯系统的安全,在任何不安全的情况下,紧急制动就会被促发,电梯被强制停止。...构建EJB应用—模式集合(上),Eberhard Wolff,杨德仁......虽然EJB为相对复杂的任务提供了简单的API,然而设计和实现一个基于EJB的可扩展的、可维护的和合理的快速应用系统并不容易。随着时间的推移,一套公认的模式已经形成,本文将讨论其中的一些。这些模式将是本文作者写作中的有关EJB体系结构和应用模式一书的部分篇章。我们不准备讨论J2EE的其它部分如Servlets或JMS,只讨论由EJB组成的中间层。...一种在线拍卖管理的模式语言(上),Paulo C. Masiero,vicky wei......商业资源管理的模式语言主要处理商业资源的交易、位置和维护。在线拍卖管理的模式语言正是在这种环境中开发出来的,用以帮助开发那些通过web方式拍卖来进行交易管理的系统。在线拍卖管理的模式语言的开发是基于三个现有Internet拍卖系统——DBay,iBazar,Arremate.com。由于缺乏对这些系统的文档或源代码的访问权限,我们基于用户界面对这些系统作了逆向工程。然后基于我们自己对拍卖系统的理解,并参考现有的关于拍卖系统的手册,我们开发了一些模型以描述系统的功能。通过发掘三个系统的共有功能,我们从这些模型抽象出这些模式。他们展示了在线拍卖系统中的功能特点,而非设计或实现问题。本文中提供的范例也是从这些模型中抽象出来的。...CRC建模方法――跨跃开发者与用户之间的交流障碍,Scott W. Ambler,huang_shen......当小球传到某人的手里,他应该将这个职责的业务逻辑一步一步地描述出来。应该看作:BDE正在为职责叙述伪代码(高层程序代码)。这往往是用例场景测试中最难的部分,许多BDE也许不太习惯一步一步地描述业务过程。遇到这种情况时,辅导员应该帮助他们理顺逻辑。你会发现,通过头几个场景的测试,BDE能很快地掌握描述过程逻辑的技巧。BDE描述过程逻辑时,记录员应该将其记录下来(记录员的工作就是为系统记录业务逻辑和规则,这正是BDE所描述的)。...【过程】轰然巨响,Martin Fowler,Jady......我曾经跟客户谈到他们要我完成的一个对象模型复审。“我们能先给你一些文档,有用吗?”他们问。希望我没有说谎,我给了肯定的答复。两天后,随着一声闷响,UPS在我的门外卸下了包裹。那是足有1.5英寸厚的文档。我打开包裹,发现那些由CASE工具产生的印刷品。显示了一些图、给出了每个类的详尽描述、包括类的所有的属性和操作。这些都有定义。Contract类定义成“一个很多团体之间的合同”,其dateSigned属性定义为“签订合同的日期”。我读遍了这1.5英寸厚的文档,最后我却糊涂了。那有很多关于那些对象是什么的描述,但是没有它们真正意味着什么的解释。这种情况已经不是第一次出现了,我想也不会是最后一次。...烧毁这本书,别让员工看到―《人件》评论集,柳林......这是我一直喜爱的软件工程书籍。《人件》正确指出软件工程是对人,而不是针对技术。它看到在软件开发过程中人的许多方面,并指出人并不是软件开发机器中简单的小齿轮。这本书花费了许多的时间讨论团队,使你认识到团队的价值。但它没有一般的管理书籍列出“好团队”的标准,而是论述如何创造一个好团队,并指出它有多难。对于一个尽力去建造一个团队的管理者,这本书帮助他认识到成功的技术与技巧。它并不教你关于开发过程的知识,而是通过教你认识到在软件开发中人的价值去管理开发过程(但它并不仅仅论述管理者,我强烈推荐这本书给每一个人,从低级工程师到CEO)。这本书也包含涉及办公环境的章节,并提供证据说明为什么通常的观点并不适用于软件开发。我只学了这些章节,就促使我辞掉了原来的工作!...第19期下载>>http://www.umlchina.com/xprogrammer/XProgrammer19.pdf
【新闻】UML2.0正式通过QuickUML 1.1 for Windows、Linux上市OMG推荐模型驱动架构FastStart计划Borland向Eclipse组织推荐敏捷设计解决方案Flywheel:前进的马达在轰鸣【方法】UML相关工具一览(续):I-O......关注“用手建模”的UML建模工具,强调创造性和弹性。支持电子白板,支持在桌面、可移动物体上建模。...顺序图双向工程 ......针对Delphi的工具,支持构件和模式,支持某些“自适应”的方法学。和Delphi IDE自然结合。UML状态图指南,Scott W. Ambler,梁涛......尽管上述描述状态图的方法使用良好,但是所产生的状态图会变得非常复杂。想象一下在图2中,“教授中”(Being Taught)这个状态同样有子状态的话,状态图会变成怎样的情况。一种可选的方法是对非常复杂实体的状态图分级。例如,图3是顶级视图,而图1是种更细节化的视图。...误用例:带敌对意图的用例,Ian Alexander,林善茂......人类甚至在冰河时代的篝火旁,争论捕获一头毛犀牛的危险性时,就已经开始分析不利的情况:如果在它中矛前转身向我们冲过来怎么办?最近更多的情况是:如果黑客们发动了拒绝服务攻击(DoS)怎么办?现代系统工程师能够通过使用误用例(misuse case)——用例的负面形式——来证明和分析这些情况。一个误用例是一个简单的用例,从一个带有敌视意图的角色的视角来看系统的设计。对于用例来说,误用例有许多非常有意思和有帮助的应用和影响。...RUP的反模式,Julia Filho,沙萌、于宏光......“我们目前的迭代是需求,下一次迭代才是设计”--对那些一直遵循严格的瀑布开发过程的人们而言,瀑布RUP是最容易犯的错误之一。瀑布RUP是反模式的原因很简单:它不能帮助降低风险程度,而降低风险是基本的RUP原则之一。RUP迭代式开发要求每次迭代应该是一个应用程序的“小型发布版”。每次迭代有小型的需求,设计,开发和测试环节,并且交出应用程序的一个可运行部分。使用这种方式,需求、设计、实施和测试的问题在每一次迭代中都得到“冲刷”,要求问题越早解决越好(问题越早解决其消耗的代价就越小)。...领域建模,Paul Oldfield,陈明勇......OO系统保持灵活性的能力在于以不同的方式使用已有对象,因此如果你想以不同的方式使用系统,你所要做的就是让系统以不同的方式使用系统中的对象,然而,这依赖于一个假定,对象可以以不同的方式使用,如果责任分配合理,对象表达了正确的概念,它就可以以不同的方式使用,如果责任分配不合理,那么改变系统对象的使用方式往往需要改变系统内核。...角色建模——实用的系列分析模式,Francis G. Mossé,samying......在进行面向对象分析时,我们经常遇到与角色有关的问题。角色是与某些概念(或类)所在的上下文有关的一个概念(或类)。举例来说,“公司”可能是某些特殊“产品”的“供应者”。“供应者”是一个角色。通过选择以下介绍的五个角色模式,所有的角色问题都能很容易地被解决。这五个模式是:继承角色、关联角色、角色类、泛化关系角色类、关联类角色。每个角色模式都综合了它对能力、灵活性和复杂性方面的考虑。这些模式一起,提供了对所有角色问题的完整解决办法。...建立稳定分析模式的模式语言,Haitham Hamza 等,wnb......对每个BO都将其对应的IO表示出来。例如,HotMail是HOST的可能的物理表示,但是,从一般性考虑,该IO在任何时候都可以发生变化以表示任何可能出现的HOSTS,而且不会影响模型的核心。在该示例中,两个模式中所有的连接都仅建立在IO层。...【人件】亮出怀疑的尖刀,Peopleware......一个普普通通的开发人员能做什么?首先能做的只有怀疑,用怀疑的尖刀一次又一次轻轻地刺激梦魇中的Neo(就象《人件》26章中的“唤醒霍尔加”)。怀疑加班,怀疑进度表,怀疑口号,怀疑开会,怀疑老板的说话,怀疑家具警察,怀疑工作环境...仅仅是怀疑而已,但,仅这一点就已经是致命的。...信息时代的技术阅读,刘天北......技术行业里,大师巨匠大多自信、安恬,温和有趣,水平低得多的技术人员反而常常自矜于一得之见,对旁人摆起面孔。相应地,很多教材名作也都面目有趣,语言温醇,甚至不少段落漂亮得都可以拿去做英语范文。而你很难从大多数教程作者那里指望考究的文风,他们的典型句式是:“读完下面的10页,你将学会a…b…”——要是再加上一个电话号码,这就能构成不错的电视购物广告。...第28期下载>>http://www.umlchina.com/xprogrammer/XProgrammer28.pdf
【新闻】SteelTrace架起需求和UML之间的桥梁Gentleware双喜临门JRules4.5增加图形表示规则新功能【方法】UML相关工具一览(2003年8月版):O-R......UML/SDL实时开发,产生的代码可以在CHORUS, Nucleus, OSE, OSEK, pSOS+, VRTXsa?, VxWorks, WIN32等实时操作系统平台运行。...点评独孤木专栏《漫谈UML OOAD and RUP》,IT之源 张恂......有些人很奇怪,大概自我感觉很好,总是恐惧、厌恶陌生的东西吧,所以总喜欢树立一些假靶子,企图用一打假命题来证明OO是如何的失败,从而为内心排斥OO、拒绝学习OO寻找暂时的安全感。...用例/OOAD随笔之一,think......好像还不错是不是?要是我们问一问客户,为什么要做一个系统?听一听客户――一家××代理商怎么说,“××的运费在顾客购买总费用中占相当比例,如果能想办法降低运费,顾客肯定非常乐意找我们买××...集成Rational工具套件编写需求文档—Step by Step,Kirsten Denney,michael......本白皮书说明了这些缺点可以通过集成使用Rational工具套件的不同组件来克服。它还说明了通过提供图形化的能力和对需求工件的适当管理,这些工具可以进一步增强需求工程。最后,这一白皮书也对RUP中提供的用来改进和扩张需求工程的工作流和最后交付提出了建议性的修改。...用户界面设计背后的理论,Mauro Marinilli,Sha Meng......设计专业的用户界面不仅仅是有好的图形艺术家和好点子的问题。不幸的是,人们只是为了产品而创建用户界面,完全没有意识到背后的基本原理和理论。紧迫的计划、错误的观念(像“可用性是现在我们不能提供的额外的东西”)和缺乏专业性造成我们周围充满了低劣产品。本文开始可能会有一点抽象,但它的主要意图是让大家了解一些仅限于学术界和专业领域的主题。我们不去探讨诸多UI设计方法的细节,因为从我个人的经验,我发现为建立有效的用户界面“所做的事情”往往更吸引人们,而不是掌握一些简单的概念,在UI设计的过程中受到启发。...一种请求及分配有限资源的分析模式,Fei Dai、Eduardo B. Fernandez,wnb......在许多情况中,可用资源的数量远远小于请求的数量。例如,流行体育竞赛的门票在比赛开始前就已经全部告罄;公司中重要的职务往往有多个角逐者。在中国,原始股票由于其价格低廉往往首次提供就全部卖出。从系统的观点来看,这些资源都是不可重用资源。不存在资源的返回和重新分配的问题。与之相对应的是可重用资源,如交通工具、宾馆房间、飞机座位,这些可重用资源在使用后返回并可在未来重新分配使用。...【人件】中国“人件”的声音,UMLChina......原先我总是在身边放一把空椅子,谁到我这里都可以坐下来聊聊天,很多工作的问题就在交谈中解决了,还可以随时了解别人的工作情况。结果某一天,一个家具警察(我们的研发秘书)过来把空椅子拖走了——她并不是要用这把椅子,只是不喜欢看我“乱放”。结果那两天,没人陪我聊天了,我解决问题的速度明显下降,而且团队的笑声也减少了。...建立完美公司的模式,Linda Rising 等,funwave......Enron和WorldCom公司丑闻的曝光,让我们有机会看到一种困扰人的领导模式和它所导致的后果,在这样的模式下,以希望、诚信和完美为基础的完整意义的一个公司是见不到的,而惟利是图的公司却处处可见。我们深信,要想赢利, 你必须绝对信得过自己的产品或服务,并且关爱你的顾客或客户。这不是刻板的教条,这是活生生的商业准则。一个真切关注自己产品和产品使用者的公司是能够创造奇迹的。Tom Peters讲过一个有关麦当劳创始人Ray Kroc的故事:有人问Ray Kroc“你成功的秘诀是什么?”,他答道, “你得有鉴赏汉堡包美丽的能力”。看到这里,你可能先是一笑,稍加思索之后,你得承认他的话很有道理。...第29期下载>>http://www.umlchina.com/xprogrammer/XProgrammer29.pdf
【新闻】《有效用例模式》中译本发行《人月神话》中译本修订版即将出版Borland发布Together Edition for Microsoft Visual Studio .Net基于模型的开发领域,微软从零开始Rational为IBM的按需开发添上双翼Rational为由设计直接生成代码努力【方法】UML相关工具一览:S-T......可以和ERWin, Caliber-RM协同工作,Rose输入输出。...支持UML2.0,支持MDA。...重构:当前研究及未来趋势,Tom Mens,wnb......尽管在重构领域相当多的工作已经实现,从实践及规范的角度来看,仍然有许多问题仍然需要关注并解决。本节将对这些问题进行总结,并给出部分的解决办法。问题的组织方式分为基础部分和研究问题,实践部分和工具问题等两个主要的分类。...使RUP敏捷,Michael Hirsch,Michael Zhou......2000-6:客户没有提供这个版本的反馈。事实上,客户甚至没有安装该软件。许多需求仍然不清晰。客户没有时间与我们一起工作以澄清需求。来自客户的关键人员没有空,因为他们被分配到了其他紧急的项目中,大部分时间被他们遍布全球的客户所占用。我们从客户的组织的不同的人那里收到了互相矛盾的信息。尽管如此,我们仍然冒着遗漏信息的风险继续开发和工作。...或许我们不应该“写”需求,David Gelperin,安丰亮......对于我们过去的较小的项目,使用文档管理需求效果很好,通过二、三十页纸需求能够被详细说明。我们在本单位或者网上可以获得很多模板,这些模板为需求文档的不同信息提供了编辑样式,然而,文档的效力却无法准确衡量。大型文档检查和使用都是有困难的。因为文档的组织形式是固定的,作者必须选择简单的最好的方法组织信息。不幸的是,对于大量的信息,没有简单的、最好的方法甚至是较好的方法。...UML驱动的基于TTA协议的处理器设计,Johan Lilius、Dragos Truscan,梁涛 译......在本文中,对于TTA处理器的协议处理应用的开发,尤其是TACO处理器,我们实验了一种协议处理设计的方法。因为我们是在讨论可配置的处理器架构,我们对于反应了平台的硬件配置的应用的各个重要的方面的学习必须给出一些启发。通过建议所需资源的类型和数量,这样的信息被用来开发处理器的架构。在这样的设计过程中,UML扮演了一个重要的角色。我们使用UML作为一种描述性的语言,研究UML的行为图(Behavioral diagram)的语义来为我们的模型获得一个良好定义的可执行的语义。而且,近来在代码生成(Code-generation)方面的研究工作使得直接从UML的最后规约(Specification)生成TACO的微代码(Micro-code)成为可能。......一种基于Web的多源数据采集应用开发模式语言,Lei Zhen、Guangzhen Shao,刘辉 译......价值链之间的整合和信息共享对于企业优化整个价值链以及在不同层次上建立快速和有价值的决策非常重要。考虑一下下面的设想:当一个提炼厂的主管打开浏览器,决策支持系统的主要页面显示在他面前。在页面中间,显示生产过程的模拟,生产过程的主要部分都被显示,相关的部分用颜色标注,比如用红色表示警告;在页面左边,它可以查看企业的重要统计数据;在页面右边,它可以查看石油和产品的价格。如果他想进一步查看详细的数据,他可以点击相应的超链接进入相关的页面。...【人件】国内中文书对《人月神话》的引用精选(一),UMLChina......Fred Brooks说,“要计划丢弃某些东西”。1988年,我把Ruby卖给Bill Gates,当时只是一个原型...接下来要把它和Bill的QuickBasic结合,成为Visual Basic。我做的第一件事就是抛弃Ruby的原型,除智慧和经验外,一切从零开始。...第30期下载>>http://www.umlchina.com/xprogrammer/XProgrammer30.pdf
【新闻】Borland将UML引入.NET世界Borland开始给予C#平等对待Duvessa发布基于用例的估算工具Gentleware领跑UML2.0建模工具【访谈】Rebecca Wirfs-Brock访谈,ObjectbyDesign,李巍......你问了一个很好的问题:为什么UML工具没有对CRC卡提供任何支持呢?我更愿意把它说成「为什么UML工具没有对表达不同抽象级别上模型元素的行为和特征提供良好的支持」。我想这是因为大多数工具(尤其是那些支持双向工程(roundtrip engineering)的工具)专注于提供类的一个实现级别上的视图。...【方法】UML相关工具一览:U-X......强力的UML-数据库双向工程。...支持用例文档,文本分析。...有VS.NET2002-2003插件。支持GoF模式。...基于职责建模(上),Alistair Cockburn,李巍......职责(Responsibilities)是陈述系统设计基本原理的一种方式。整个系统的职责鉴别和分配是业务模型和软件的主要设计活动。作为一个主要的活动,职责鉴别和分配会相互密切追随并伴随着既有组件的重用。在面向对象的建模和设计中,职责的定义和分配是同时进行的,与其他的方法不同,例如结构分析(structured analysis),它们不需要在定义时进行分配。...防火墙的模式语言,Eduardo B. Fernandez 等,yoochen......动态特性...我们用序列图描述基本防火墙模式的动态特性,序列图对应于两个基本用例。...检测网站检索的可用性,Jennifer English,沙萌......另一个常常被提及的检索用户界面的不足是它们不能支持中间级的检索。如象棋游戏,检索过程有开局,中盘,末盘。开局时的选择是至关重要、反复研究的,对整盘棋都有深远影响。末盘棋则要根据棋子及其所在的位置精心设计把对方将死。中盘更难描述,更需要灵活地、有机地把战术和策略结合起来。...【人件】软件开发 以人为本,乐林峰......几个篮球场那么大的一个房间,以前据说是做库房用的。每四张办公桌被放到一个格子里...《人月神话》中译本修订版对每章前引语的修订......原译:岸上的船儿,如同海上的灯塔,无法移动。--修改:前车之履,后车之鉴。...《人月神话》国内评论集之二,UMLChina......我女朋友是做外贸的,一天晚上她一直捧着我书架上的一本书在看,很投入的样子,后来她叫住我很认真的说:“这本书写的很好,我明天可以带到办公室接着看么?”那本书是《人月神话》。...第31期下载>>http://www.umlchina.com/xprogrammer/XProgrammer31.pdf
【新闻】Flashline加入OMGOMG的MDA FastStart计划进展迅速SAP和IDS Scheer达成合作Intelliun使Executable UML成为现实Borland的 企业核心对象“ECO”技术加快软件快速开发的进程简化应用集成的工具【访谈】Alistair Cockburn与UMLChina交流会,think......而象我的妻子那样做面包,就和那两个层次不一样了,她只需要凭她的手感,抓一些面粉,倒一些水,弄点鸡蛋在里面揉揉就能做出她想要的面包,这就是‘离’的阶段。到了她那个阶段,她既知道如何根据处方来做,也知道不看处方怎么做。...【方法】UML中文FAQ,张恂......一直很难找到中文的、适合国人看的UMLFAQ,而英文的UMLFAQ 往往散落于各处不易收集和消化,导致很多看似简单却很基本、很关键的问题在网络论坛、BBS 上被反复地提出,既浪费了提问者、解答者不少的时间和精力,也给大家学习总结、进一步提高带来了困难。于是,结合自己的所学所想试着编写了一个UML中文FAQ 供各位参考。...基于职责建模(下),Alistair Cockburn,李巍......火车发动机(Train engines)挂着多节车厢和一节守车(caboose)。确定是发动机还是守车具有「连接发动机到守车」的职责则是一个难点。解决方案:有一些抽象被遗漏了,其中有关于火车结构(configuration)的,有关于火车的。系统很可能想要管理发动机,车厢和守车的结构,并且想要随时能够变化。...用例随笔,think......部门工作人员给基础信息交换系统发出命令后,基础信息交换系统就连通部门业务系统,把业务数据搬到基础信息交换系统内。确实是一个命令系统去“采集数据”的过程。但是我们要回过头来想一想:用例是“执行者用系统来干什么”。部门工作人员会怎么看待这个过程?他们会说,这是在“提供数据”,把数据提供出去,作为比对、交换的依据。...更多的操作系统访问控制模式,Eduardo B. Fernandez、John C. Sinibaldi,droplet......在计算环境中,进程会在运行过程中创建对象。有些对象在程序初始化时创建,而其他对象在进程运行时动态创建。进程对这些对象的访问权限需要在进程创建时就指定,否则进程可能会误用它们。...远程认证者和授权者模式,Eduardo B. Fernandez、Reghu Warrier,杨德仁......一个跨国公司在不同国家如美国和巴西有许多雇员。支持美国职员的认证和授权信息要保存在美国的服务器中,支持巴西职员的信息要保存在巴西的服务器中。现在假定一个美国职员旅行到巴西,需要访问巴西数据库服务器中的数据。有两种方法可以实现...帐务模式,Windy J......我们打电话,上网,然后在月底收到一张账单,上面写着这些活动产生的费用,类似的还有水电费,煤气费,有线电视服务费,购物账单等等等等,总之,在某个时候发生了一些事件,打了一个电话,上了一次网……,在这些事件里我们付出或者得到了某些东西(例如劳动,商品,服务等),然后这些付出或得到的东西产生了一些不同程度的费用条目...《企业应用架构模式》评论,李巍......这是我所发现的关于J2EE和.Net模式的最佳图书。我想它注定会成为经典。我发现关于「何时进行分布式,Unit Of Work,Domain Model和Data Mapper模式」的论述极为有用。它改变了我考虑企业应用的方式。...【人件】国内中文书对《人月神话》的引用精选(二),UMLChina......Grady Booch:一颗濒于坍塌的行将死亡的恒星,一个正在识字中的小孩,一群对病毒发起攻击的白细胞:这些只不过是物质世界中少数涉及巨大复杂性的对象。软件也可能会牵扯到很复杂的元素,但这里所看到的复杂性却是根本不同的类型。正如Brooks指出的“爱因斯坦认为肯定有对自然的更简单的解释,因为上帝并不是反复无常和独断专行的,但这样的信念并不能安慰软件工程师。他所要对付的复杂性绝大多数都是任意性的”...第32期下载>>http://www.umlchina.com/xprogrammer/XProgrammer32.pdf
【新闻】INTELLIUN广邀专家一起探讨EXECUTABLE UML的未来微软Whitehorse modeler的背后业界领先的美国电信设备制造商选择TelelogicIBM如何对待Rational工具Wizdom Systems发布ProcessWorks! V.6支持UMLScott W. Ambler谈敏捷的真相【访谈】敏捷方法争论,Ryan Chen......Barry Boehm:嗯,Tom,我很高兴把你对“敏捷方法争论”的清晰描述用克劳斯威茨的对位法来做个比喻,就如军事行动中的装甲和机动性。不幸的, 我们在软件开发和军事行动中所看到的都是这么一种趋势:钟摆总是在两个极端之间摆动。然而在大多数情况下,我们需要在装甲和纪律、机动和活泼之间获得一个平衡。事实上,我要说敏捷和重型方法这两个阵营,它们的领导人的观点,其实都在各种各样的可靠的中间地带,只是那些狂热的追随者们过度地分割了“纪律”和“活泼”。 DeMarco:我很同意。幸运的是我们领域的实践者比学术的提倡者更懂得寻找有意义的中间地带。...【方法】模型驱动架构MDA介绍,袁峰......模型驱动架构(MDA,Model Driven Architecture)是国际对象管理集团OMG目前力推的软件开发的新框架,它在模型定义、软件开发过程等领域必将产生深远的影响。本文从其定义、思想的来源、发展历史等方面对其进行了较为深入的介绍。 ...使用模型驱动架构方法在J2EE平台上进行模型驱动开发,MIDDLEWARE,陈龙......这一案例研究的目的就是验证或反驳关于基于MDA的开发工具可以提高软件开发生产效率的声明。两个团队开发同样的J2EE PetStore应用,一个团队使用了基于MDA的开发工具,而另一个团队使用传统的企业级集成开发环境(IDE)以代码为中心(code-centric)的开发方式开发。...领会统一过程,Sinan Si Alhir,sunyanjia......聚焦于“统一过程的精髓”而不是统一过程的形式。统一过程既不松散混乱,也不死板迟钝,而是具有很强的灵活性,动态性。统一过程仅仅是说明或建议开发人员应该如何决定和执行。如果无法平衡其中的关系,则表明过分的关注“统一过程的形式”,而不是“精髓”。这一点是很多过程工程师运用统一过程的通病,也就是说,他们无法平衡“形式”与“精髓”。...扩展UML活动图实现生产系统中的工作流建模,Ricardo M. Bastos、Duncan Dubugras、A. Ruiz,Micheal.fly......本文提出了一个使用工作流概念在生产系统中描述业务流程的方法。在此,我们对UML的活动图进行了扩展,提出了工作流活动图(Workflow Activity Diagram-WAD)的概念,它采用了C-WF模型概念。C-Wf模型描述了业务流程中涉及的结构性的和功能性的企业对象,如企业活动、人力资源、机器资源等等。WAD描述了一个工作流模型,该模型用来标识该工作流执行所需要的活动和资源,并定义了它们之间的关系和次序。通过UML用例的深入使用,我们的方法进一步增强了UML在业务建模方面的可用性。...糟糕界面集锦(补遗),iarchitect,雷立辉......微软似乎想将每一个打过的补丁的历史纪录版本号用分号分开显示在关于对话框里。也许是因为这是第五个开发版本,也许开发者没想到竟然有这么多的补丁要打所以没有预留足够的空间来显示补丁的信息。天哪! 那个对话框右下角灰色的东西是什么?噢,那是“OK”按钮。或许是什么原因吧,开发者将补丁的信息宽度和按钮的位置联系了起来,所以就变成那样了。如果Amit再多打一个补丁的话,他将和“OK”做最后的吻别了。 ......【人件】《人件》续篇--《人件集》样章,Larry L. Constantine,谢超......但是,那种认为为开发者提供更安静、更宽松的办公空间就可以提高软件开发效率的观点也是不正确的,办公室布局与开发效率之间的关系远远要比这句话复杂的多。首先,从社会科学研究的角度来看,“原因-结果”之间的关系是很复杂的,很难说清哪个是因,哪个是果。高效的程序员有可能是在安静、宽松的办公环境下办公,但也可以说,正是由于他们的高效开发使得办公环境显得安静、宽松。...第33期下载>>http://www.umlchina.com/xprogrammer/XProgrammer33.pdf
【新闻】《财富》把《人月神话》列为CEO必读技术书籍之首IDS Scheer North America发布ARIS UML DesignerIBM收购Rational一年总结Grady Booch在IBMGrady Booch加入Northface大学顾问委员会【访谈】Scott Ambler访谈,Clay Shannon,李巍......这很奇怪。我发现“反敏捷(anti-agile)”者认为敏捷学家(agilist)是在宣扬「敏捷方法就是银弹」的言论,因此这些方法常常会被认定是一时兴起而被忽略。事实上就我所知,在敏捷社区内没有人声称他们已有魔法般的解决方案,并且时不时地叫嚷说「就像我这样地使用AM」。...【方法】CASE工具对用例的支持,Huseyin Angay,think......用例建模长期以来被看作次于对象建模的二等公民,部分原因是需求分析工作比较单调,没有设计和实现那么有意思;另外的原因就是CASE工具支持不够,导致它没有对象建模那么流行。对象建模在现在之所以如此流行,过去几十年支持对象建模的工具持续改进是一个主要的原因。 ......极限建模与可执行模型,Stephen J. Mellor,Ryan Chen......会议一开始,我介绍自己为“间谍”,因为我的兴趣是在可执行模型:模型可以非常精确和详细,足以去执行。这样,那种认为代码是唯一感兴趣的产品、模型是多余的观点就会很奇怪了。当然,我们仍旧将把我们的注意力放在最终产品上,但是这个最终产品完全可以是一个可执行模型。...适应性的实时分布嵌入式中间件的新兴模式,Joseph P. Loyall,Li Haiming......假设有一架负责执行预先计划的任务的战斗机,和一架协同命令和控制(C2)飞机,主要用于当战斗机接近目标时不断更新战斗机的任务参数。特别地,C2可能想要把战斗机指引向一个新的更危险的目标或者警告战斗机在到达目标的途中有威胁,如图1所示。无论如何,这项从C2到战斗机的合作式的任务重计划必须处理资源的限制和争用,因为这两架飞机之间的无线网络的带宽是有限的,而飞机上的处理器同时还服务于其它可能的关键任务。由于任务重计划和有关数据的动态自然属性,通过静态地预分配足够的资源来支持这种合作是困难甚至是不可能的。如果系统依赖于资源总是可获得的和可预测的,它可能不能及时交换重要的任务计划信息并以此采取行动。...一半是欣喜,一半是迷惑--XDE for .Net体验,Windy J......安装的时候软件名是“Rational XDE Plus .net (Evaluation)”,看起来还是无可厚非的,但是,当我想到Rational网站上找一些相关介绍的时候,居然怎么也找不到这个软件,在琢磨了好大一会之后,才发现它的大名原来是“IBM Rational Rose XDE Developer”(.net版),与之遥相呼应的竟然是IBM Rational Rose XDE Modeler,Rose乎?XDE乎?IBM乎?Rational乎?Developer乎?Modeler乎?真不知道是厂家想把我们弄得晕头转向呢,还是他们自己已经被他们的产品弄得晕头转向了...值得看的中译本UML相关书籍(截止至2004年1月),UMLChina......现在,引进翻译的UML相关的书籍越来越多,在不可能一一阅读的情况下,开发人员面临着一个问题:哪些书能真正带来帮助?UMLChina的专家总结了2004年1月之前出版的所有UML相关书籍,根据自己的认识,“过滤”出以下优秀书单,按出版日期排序。不作任何评点,仅为一家之言,供大家参考。最后要说的是,就算读10000本书,如果没有将其中的知识用于你自己的实践,对你来说也是无用的。 ......PEAA中译本精选(草稿),Martin Fowler,王怀民......再接下来的问题是由“业务逻辑”带来的。我认为“业务逻辑”这个词儿很滑稽,因为很难再找出什么东西比“业务逻辑”更加不合逻辑。当我们构建一个操作系统时,总是尽可能地使得系统中的各种事物符合逻辑。而业务逻辑生来就是那样的,没有相当的政治力量不要想改变它,你所能做的只有照着它说的做。你必须面对很多奇怪的条件,而且这些条件相互作用的方式也非常怪异。这种情况很容易出现,比如,某个销售人员为了签下其客户几十万的一张单,可能会在商务谈判中与对方达成协议,将该项目的年终到帐时间推迟两天,因为这样才能够与该客户的帐务周期相吻合。成千上万的这类“一次性事件”最终导致了复杂的业务“逻辑”(其实不符合逻辑),也给商业软件开发带来了很大困难。 ......【人件】需求工程师的素质要求,Think......目前,很多公司里,担任需求工程师角色的开发人员,同时也会承担着设计和编码的任务。实际上,这不是一种好的做法。需求工程师的任务是出题,需要把各种碎片捏合成题目(或者说,用例),需要强的综合能力;设计员程序员的任务是解题,需要强的分解能力。这两种能力方向是相反的,这也是程序员经常会“误用”用例的原因。一个好的程序员并不能自动成为好的需求工程师。...第34期下载>>http://www.umlchina.com/xprogrammer/XProgrammer34.pdf
【新闻】David S. Frankel“应用MDA”讲座举行OMG Anaheim会议消息:四个新的小组成立;架构委员会选举china-pub2003总结:UMLChina参与图书继续火爆Gentleware在OOP展会上展示其首个集成UML2.0的工具Compuware引导MDA主流LogicLibrary书写Logidex的新篇章Martin Fowler关于MDA的见解Metamill软件公司和Innovative及Datraverse B.V.签订经销协议【访谈】Grady Booch访谈......我的想法是把它的架构文档化,因此我们可以描述它,可以做一些比较性的研究。我正在考虑例如Word的架构,纽约交易所交易系统的架构,Prism 1000的架构,Prism 1000系统用于对人类DNA进行编码。因此这个想法是去真正得到某个软件系统的光谱,并提供如何建立这些架构的知识体。...【方法】个案研究:聊天室UML模型中的一致性问题,Thomas Huining Feng、Hans Vangheluwe,车皓阳......本文从初始需求开始构建聊天室模型,以及对个案进行研究。在不同的开发阶段,分别要用到UML类图、时序图和状态图。这样,难免需要确定一致性问题,现在已经提出了许多仿真和方法,用来确保模型各个方面的一致性。我们关注内部一致性,即给定模型内部制品之间的一致性问题。 ......使用基于组件开发和Web技术来支持分布式数据管理系统,M. BRAIN BLAKE、GAIL HAMILTON、JEFFREY HOYT,micheal......当某架飞机从终点返航、离开跑道、降落到目的地跑道、最后进入航空港时,这一数据集记录了全部的“Out/Off/On/In”时间。图11就显示了一个与CRS分布式数据管理系统的观念相一致的查询窗体。...一个课程管理分析模式,Xiaohong Yuan,Eduardo B. Fernandez......本文讨论一个课程管理的分析模式,该模式描述了诸如学生注册、增加和取消课程、成绩管理等事件。模式可以推广到相似的应用中。本文包括两个相似的模式:课程注册模式和成绩管理模式,这两个模式都有各自的参考价值,适用于不同的场合。...UML建模工具比较:Enterprise Architect和Rational Rose,Jie Zhao、Dunstan Thomas Consulting,ludingping......在写本文时,EA企业版(最高版本支持SQL后台)的费用是$179.00(£111.58) 而Rational Rose企业版的费用是$5024(£3140),一天整套开发包(Rational Developer Suite)的费用是$8976(£5610)。...SAIP和PEAA的对照与比较,Ramona,李巍......一亿美金,五年的合同。Software Architecture in Practice(SAIP)和Patterns of Enterprise Application Architecture(PEAA)中会对这许多问题做出回答。尽管对于「如何创建架构」SAIP和PEAA有着不同的观点,但它们都有助于阐述架构创建的方式,以及强调其对于系统如此重要的原因。 ...相识何必曾相逢,Think......直到有一天,我在马桶上看Dean Leffingwell的书,这位Requisite公司的CEO、RequisitePro【1】的开发者在他的书中说,RequisitePro的思想起源于Donald Gause和Jerry Weinberg的著作,尤其是《探索需求:设计之前的质量》 ...《探索需求》中译本(草稿)节选,Donald C. Gause、Gerald Weinberg,章柏幸......另一个在问题描述中的危险词语是“组”,它暗示这些人将会有相互影响,但不知何故,这里也不清楚其究竟。表演“费加罗的婚礼”的演员们之间的相互影响与在费加罗咖啡馆喝咖啡的一群人之间的关系截然不同。为某个小组设计的建筑物将会和为其他人设计的完全不同。甚至是术语“建筑物”也带来了一大堆的含混性 ......第35期下载>>http://www.umlchina.com/xprogrammer/XProgrammer35.pdf
【新闻】Gerald Weinberg “探索需求”讲座举行Scott W. Ambler“应用UML敏捷建模”讲座举行Ian Graham“对象技术”讲座举行MagicDraw UML工具增强报表功能视频游戏公司采用SmartDraw进行标准化Gorilla Logic发布Gorilla ExecutionEngine预览版本I-Logix: 模型驱动开发理应有测试的一席之地【访谈】我思Argo在,Alan O' Callaghan,车皓阳......近来,在贸易出版物的头版和专业会议当中,敏捷过程都非常火。它的基本思想是,软件开发过程自身应该灵活、适应、轻量。它与Jim Highsmith和Kent Beck(XP运动的领导者)等几个曝光率甚高的美国人有着莫大的关系。但是欧洲拥有自己的专家,敏捷过程并不象有些人想得那样新颖。我与Martine Devos[1]邂逅,她...【方法】当企业计算遭遇嵌入式系统,Micheal Kircher、Christa Schwanninger,车皓阳......嵌入式设备中软件使用得越来越多,系统之间建立了连接,对在小型设备中增加功能的要求也一直在增长,这些都迫使供应商想尽办法来缩短开发周期。对于嵌入式系统来说,只有实现了复用,软件需求才能满足 ......探索《探索需求》,Think......你的工具好,恭喜你,同时也要提醒你,新层次的挑战来了。以前可以抱怨工具的理由如今已经不存在,你需要更加集中精力去面对真正的问题。――这也就是Weinberg说的“你的CASE工具越好,你就越是需要本书所讲的工具。”...《UML风格》中译本节选,Scott W. Ambler,王少锋......它不讲概念,它假设您已经懂了概念。它简单地告诉您“在递归关联上指明角色名”,不告诉您什么叫“递归”、“关联”和“角色”。这方面的知识,可以去看“UML Distilled”。糟糕界面集锦—界面设计考虑要点,pixelcentric,雷立辉......典型的举例来自程序TextEdit的图标,这个图标包含有一段文字。尽管少量细节丢失了,这个图标的文字块依然在48x48大小的图标中依然存在。不过,图标上页面上的横格细线看不见了。即使在16x16大小(图4.A最右的图标)图标尺寸最小的情况下这个文字块还是有一个墨色的轮廓依然保留,而最基本的元素信纸及笔依然可以辨认。...批判索尼爱立信的手机设计,dozer......通话清单中,如果是同一个号码多次拨打,例如一个未接来电拨打了四次,却只显示了最后一次拨打时间,这样的做法隐藏了重要的信息。因为用户有可能需要了解每次拨打的具体时间。一般而言,最新拨入的电话号码应该显示在通话清单的最上面。但是......为什么伟大的技术不能制造出伟大的产品?,Scott Berkun,梁劲......增加产品价值的最佳方式是增加它的功能却没有增加复杂性。当你想增加一个新的feature,是否有办法增加了它却没有为之增加一个用户界面?它能被可靠地自动化吗?或者,为了包含新的功能,是否可以通过新的、改进过的方式替代旧的,来调整、甚至去掉原先的功能?想一下汽车工业是怎么做的......用UML进行超媒体建模,Peter Dolog、Maria Bielikova,车皓阳......为了进行外观建模,在导航模型中我们定义了状态机,它是通过合并多余(可选的或并行的)状态而生成的,它表示不同形式的外观信息。规则根据用户知识水平表示适应性,规则由监视哨(guards)、条件、行为状态和转换来建模。...第36期下载>>http://www.umlchina.com/xprogrammer/XProgrammer36.pdf
【新闻】I-Logix Rhapsody 2004生成C代码UML2意味着“模型驱动”的架构IBM将让所有Rational工具基于Eclipse微软的模型观点与众不同Telelogic升级DOORS套件以改进定义软件需求的过程Telelogic进军普通应用开发【访谈】UMLChina访谈温伯格“探索需求”......最常见的例子就是我们发现某个人说,“我们需要一个快速的系统。”看,我们不知道“快”意味着什么。这个“快”和他们头脑中已有的某些速度有关。对某些人来说快的系统,对另外一些人却是慢的。所以,你必须找出更清楚的事实。...【方法】论银弹的存在(v0.3),张恂......“颠覆软件工程[4][8]?软件工程是软件工业的立业之本,深深扎根于数百年来工业、产业和信息革命造就的肥沃土壤。某些人出于各种目的,提出颠覆软件工程,就像要颠覆建筑工程、土木工程、机械工程、装饰装修工程……一样荒唐幼稚, ......UML 2.0新特性,Granville Miller,郝黎凯......通信图就是过去的协作图(collaboration diagrams)。和序列图中的术语一样,通信图的结点被称作生命线(lifeline)。这些结点通过消息连接在一起,这些消息代表了交互作用发生的顺序。...ChattaBox:使用UML和SDL设计并发通信软件系统,P S Kritzinger,车皓阳......案例研究的主要目标是分析使用最佳工程实践和CASE工具创建这样的系统时,可能的软件工程路线。为了这个目的,我们设计并实现一套称为ChattaBox的VoIP系统。 ......RUP的分析和设计工作流中的Aspect,Eduardo Kessler Piveta、Augusto Jun Devegili,samying......本文主要考虑RUP的分析与设计工作流,并且确定这个过程由于AOSD(面向方面的软件开发)而作的改变。我们定义了一个新的角色,称之为“方面设计师”(Aspect Designer)...在大型项目中使用XP实践,Lan Cao、Kannan Mohan、Peng Xu,李腾......FinApp参与了一个复杂的企业级系统的开发,这个系统向银行,保险公司,信贷和经纪人提供金融服务。项目包含6大种类的1000多个业务对象 ......糟糕界面集锦――应用程序点评,Pixelcentric,雷立辉......“发送”按钮是一个巨大怪异的东西,它的高度竟然和文本输入框是一样的,甚至更大一些。回车和点击按钮都会发送输入的消息,所以让人觉得微软可能想用这种形式来强调这个按钮。想到苹果即将发布的iChat,这个软件就根本没有“发送”按钮...第37期下载>>http://www.umlchina.com/xprogrammer/XProgrammer37.pdf
【新闻】UML被SUN“本地化”业务驱动开发者的趋势Cutter会议:敏捷在升级Select Business Solutions引导新的模型驱动架构解决方案OASIS委员会通过通用业务语言(Universal Business Language)Gentleware推出Poseidon for UML 2.3版本Quocirca直言:编程已死?【访谈】MDA辩论,Axel Uhl、Scott W. Ambler,车皓阳......Scott和我都认为建模总的来说是好的。但是,我不同意Scott所说的产生式MDD,或者说模型驱动架构是造成迷惑的原由。好多工业软件开发项目已经证实了这一点。比方说,德国银行Bauspar和澳大利亚国家铁路报告第一期MDA项目节约了40%...【方法】用例和方面——无缝的协作,Ivar Jacobson,Brian Sun......人类通常是从对具体事物的理解中进行抽象。而与此相反,将抽象概念转换为具体事物,则需要近似于宗教般的信仰。在使抽象概念变得别人可以相信之前,需要为此反复宣传。这种工作多年来我已经做过无数次。当我们的实现环境还是汇编程序的时候,将组件和接口具体化几乎是不可能的, ......电信行业的软件开发过程案例研究,WHM Theunissen、DG Kourie,李腾......为了确定敏捷方法在电信行业的适用性,我们对一家电信公司的软件开发过程进行了研究。该案例中的电信公司Telkom SA Ltd.是目前南非唯一的固话运行商。作为第一个步骤,Telkom中同软件相关的一些部门被确定出来...使用用例探索需求――一次解决需求问题的对话,think......不,不是这个意思。我们经常看到有人讨论用例应该写得多细,用例的“粒度”应该多大的问题,实际上这些讨论是没有意义的。用例或者说需求不是面团,要怎么捏就怎么捏。这里面实际上就是四个字“实事求是” ......七步搞死RUP,Craig Larman、Philippe Kruchten、Kurt Bittner,李涛......RUP的作者并不认为RUP是重型的或者预见性的,这种认为RUP是重型的或者预见性的错误观点是由于加入了不正确的过程思想或者对RUP的误解,RUP本身提供的大量详细的过程文档也加剧了这种认识,以至于RUP被错误的刻画或者蹩脚的实现...关于重构研究与实践的一次论述,Bart Du Bois、Pieter Van Corp、Tom Mens,风之影......高级的MDA工具能够逆向工程,即把现有代码转变成抽象模型,从而实现平台集成[97]。显而易见地,这种解析方法只有在现有代码遵守一个预定义结构时才能工作。这样,重构能够被用来把现有代码转换为MDA工具所能理解的规格......积极主动的软件工具使应用开发潜力最大化,fgonline,李胜利......Ivar Jacobson发展了对UML和RUP的进化至关重要的“use case”(用例)的概念,他还在软件组件重用专题上发表了无数的文章,将重用概念应用于包装可重用的过程知识组件上。 ......第38期下载>>http://www.umlchina.com/xprogrammer/XProgrammer38.pdf
【新闻】微软计划为Visual Studio增加测试建模等工具IBM生命周期管理软件决胜Visual Studio 2005Borland Together新版本推动.Net开发Ivar Jacobson博士最近忙什么?Bertrand Meyer“面向对象软件构造”讲座即将举行【方法】转化用例为设计,James Bielak,李胜利......对许多UML和统一过程的从事者,特别是新手来说,从一个类似于故事的用例集生成详细的、充实的设计模型可以证明是相当漫长的一段路程。从陈述的需求建模类和组件之间的交互,这些类和组件每一个都具有各自的属性,方法和责任 ......实用用例:事件建模使用例变得严密,David A. Ruble,王志航......在过去的几年中,OCG参加了许多客户(的开发)。这些客户都使用用例作为主要的分析工具。通过使用用例模型的经历,我们发现了两个主要的问题。第一个问题是决定什么组成用例很困难。第二个是如何更好地使用文字描述你所关注的用例的细节。...复发责任分析模式,Lubor Sesera,Trio......保险公司和客户签订保险合同获取保费。该合同在一定期间内有效,而客户不必一次付清所有保费。保险公司需要时刻知道实际的保费总额和已经支付了多少。为使这项询问简单高效,查询保费的命令要能够在任何时候可执行(例如每天晚上)...状态图模式语言,Sherif M. Yacoub、Hany H. Ammar,戴远志......当实体从一个超级状态转移到另一个,又返回原先的超级状态时,进入的可能需要是其退出时的状态,而不是其缺省状态。我们可以使用状态图规约的历史属性做到这一点,具体实现时超级状态应知道它最后的状态对象。...设计模式中的可分析性和可更改性,Javier Garzas、Mario Piattini,黄蕾......既然设计质量可以通过指标来衡量,那么运用设计模式应该获得更好的指标。但是,许多面向对象设计的通用指标都显示运用模式的设计是低质量的设计。 Reibing曾说过,如果对于同一问题有两种类似的设计A和B,B使用了设计模式,A未使用,那么B的质量应比A高。...UML之“四书五经”,think......什么?推荐这本“烂书”?是的。这本书从原书内容到中文翻译,被人骂得太多了。问题在于刚听说UML、Rose等新字眼时,你以为人人都有耐心去“打基础”...《敏捷数据》中译本样章(草稿),Scott W. Ambler,李巍......数据无疑是基于软件的系统的一个重要方面――这为我们近十年来所共知,然而许多组织机构依然在与他们解决「其软件过程中的面向数据问题」的方法作斗争。敏捷数据(AD)方法的目标是定义「使IT专业人员在软件系统的数据方面能够相互有效工作」的策略。业务建模 vs. 系统建模......内容刊登于2004年7期《程序员》杂志...UMLChina建模竞赛题大全-题目全文+分卷自测(10套100题) 《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题6月27-28、7月4-5晚网络软件需求设计方法学全程实例剖析公开课 建模示范视频(2020年6月)增加公开课真实案例-合同管理系统(催款) UMLChina视频哔哩哔哩频道(20200322更新)